package net.xumf.support.auth;

import java.util.List;

public interface Verification {

    String ROLE_KEY = "ROLE_KEY";
    String PERMISSION_KEY = "PERMISSION_KEY";

    boolean hasRole(String role);

    boolean hasRoleAnd(List<String> roles);

    boolean hasRoleOr(List<String> roles);

    boolean hasPermission(String permission);

    boolean hasPermissionsAnd(List<String> permissions);

    boolean hasPermissionsOr(List<String> permissions);

    List<String> getRoles();

    List<String> getPermissions();

    void setRoles(List<String> roles);

    void setPermissions(List<String> permissions);

    String getRoleKey();

    String getPermissionKey();

    void clear();
}
